# -- coding: utf-8 --

# 第一题：
# 1.创建一个Dog类，给它两个属性比如名字和年龄，给它定义两个方法eat,play;
# 2.创建一个Cat类，属性和方法同上；
# 3.创建一个master类，定义一个feed方法，方法内部首先输入要喂养的宠物类型，之后通过反射机制来执行宠物的eat或play方法。

# 第二题：
# 定义一个函数，传入浏览器的名称（Edge、Chrome，Firefox），通过反射机制获取浏览器驱动对象
from selenium import webdriver
import random




def get_driver(browser):

    if hasattr(webdriver, browser):
        setattr(webdriver, 'size', '100')  # 通过反射给一个对象添加成员属性，对于我们来说基本不用
        delattr(webdriver, browser)  # 删除某个下级成员，也基本不用

        return getattr(webdriver, browser)()    # webdriver.Edge() 或者webdriver.Firefox()
    else:
        print('错误')
        # return webdriver.Firefox()



if __name__ == '__main__':

    # result = get_driver('abc')
    # rd = __import__('random')
    # print(rd.randint(1,100))
    from reflection_demo import demo04
    d4 = __import__('reflection_demo.demo04', fromlist=['demo04'])
    master = d4.Master()
    master.feed('Dog', '元宝', 6)